import tim from "../../utils/tim/tim"
import { getBarAndTitleHeight } from "../../utils/utils"

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 会话对象名称
    conversationName: '',
    // 会话实例
    conversation: {},
    // 信息列表
    messageList: [],
    // 是否显示输入框
    showChat: true,
    // 会话Id
    conversationID: '',
    // 信号栏高度
    ...getBarAndTitleHeight(),
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // conversationID: C2C、 GROUP
    console.log(` TUI-chat | onLoad | conversationID: ${options.conversationID}`)
    const { conversationID } = options
    this.setData({
      conversationID,
    })

    // 设置已读
    tim.setRead(conversationID)
    // 获取会话对象
    this.getConversation(conversationID)
  },
  // 获取会话对象
  async getConversation(conversationID) {
    const { conversationName, conversation } = await tim.getConversation(conversationID) || {}
    
    this.setData({
      conversationName,
      conversation,
      ...(conversation.type === '@TIM#SYSTEM' ? { showChat: false } : {})
    })
    this.setData({
      title: conversationName,
    })
  },
  // 发送信息
  sendMessage(event) {
    // 将自己发送的消息写进消息列表里面
    this.selectComponent('#message-list').updateMessageList(event.detail.message)
  },
  // 更新信息状态
  updateMessage() {
    this.setData({
      updateTime: Date.now()
    })
  },
  // 收起菜单
  triggerClose() {
    this.selectComponent('#message-input').handleClose()
  },
  // 展开菜单
  triggerShow(){
    this.selectComponent('#message-list').handleShow()
  },
  // 返回
  goBack() {
    wx.navigateBack({
      delta: 1,
    })
    // 设置已读
    tim.setRead(this.data.conversationID)
  },
})
